﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sisocana.Dal.EntityModels;
using Sisocana.Core.Models;
using System.Linq.Expressions;

namespace Sisocana.Core.Interfaces
{
    public interface IDonacionService : IService<Donacion>
    {

        //Economicas
        int addDonacionEconomica(DonacionEconomicaModel rs);
        int updateDonacionEconomica(DonacionEconomicaModel rs);
        int deleteDonacionEconomica(DonacionEconomicaModel rs);
        DonacionEconomicaModel getDonacionEconomica(Expression<Func<DonacionEconomicaModel, bool>> whereCondition);
        IList<DonacionEconomicaModel> GetAllDonacionEconomica();
        IList<DonacionEconomicaModel> GetAllDonacionEconomica(Expression<Func<DonacionEconomicaModel, bool>> whereCondition);

        //Bienes
        int addDonacionBienes(DonacionBienesModel video);
        int updateDonacionBienes(DonacionBienesModel rs);
        int deleteDonacionBienes(DonacionBienesModel rs);
        DonacionBienesModel getSigleDonacionBienes(Expression<Func<DonacionBienesModel, bool>> whereCondition);
        IList<DonacionBienesModel> GetAllDonacionBienes();
        IList<DonacionBienesModel> GetAllDonacionBienes(Expression<Func<DonacionBienesModel, bool>> whereCondition);

        //Serivicios
        int addDonacionServicios(DonacionServiciosModel img);
        int updateDonacionServicios(DonacionServiciosModel rs);
        int deleteDonacionServicios(DonacionServiciosModel rs);
        DonacionServiciosModel getSigleDonacionServicios(Expression<Func<DonacionServiciosModel, bool>> whereCondition);
        IList<DonacionServiciosModel> GetAllDonacionServicios();
        IList<DonacionServiciosModel> GetAllDonacionServicios(Expression<Func<DonacionServiciosModel, bool>> whereCondition);

    }
}
